
/**
*┌──────────────────────────────────────────────────────────────┐
*│　描    述：                                                    
*│　作    者：gaotang                                            
*│　版    本：1.0    模板代码自动生成                                                
*│　创建时间：2019-04-04 16:26:38                             
*└──────────────────────────────────────────────────────────────┘
*┌──────────────────────────────────────────────────────────────┐
*│　命名空间： BestTrader.Cms.Services                                  
*│　类    名： RmmfSyncLogService                                    
*└──────────────────────────────────────────────────────────────┘
*/
using BestTrader.Cms.Core.Extensions;
using BestTrader.Cms.IRepository;
using BestTrader.Cms.IServices;
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using BestTrader.Cms.Models;

namespace BestTrader.Cms.Services
{
    public class RmmfSyncLogService: IRmmfSyncLogService
    {
        private readonly IRmmfSyncLogRepository _repository;

        public RmmfSyncLogService(IRmmfSyncLogRepository repository)
        {
            _repository = repository;
        }

        public void AddOrModify(string actionName, int state, int id = 0)
        {
            var now = DateTime.Now;
            if (id == 0)
            {
                _repository.Insert(new RmmfSyncLog {
                    AddTime = now,
                    ActionName = actionName,
                    State = state,
                    SyncDate = now
                });
            }
            else
            {
                var entity = _repository.Get(id);
                entity.State = state;
                _repository.Update(entity);
            }
        }

        public bool IsExistCurrentDateRmmfSyncLog(string actionName)
        {
            var currentDate = DateTime.Now.ToString("yyyy-MM-dd");
            var entity = _repository.Get($"select Id from RmmfSyncLog where SyncDate = '{currentDate}' and ActionName=@ActionName and State=1", new { ActionName = actionName });
            return entity != null;
        }
    }
}